﻿Public Class LoginServiceImpl
    Inherits ServiceImpl(Of LoginServiceListener)
    Implements LoginService

    Public Function login(ByRef mitarbeiter As Mitarbeiter) As Boolean Implements LoginService.login
        Connection.open()
        Dim dbMitarbeiter = Context.MITARBEITER_SERVICE.findByNameAndPassword(mitarbeiter)
        Connection.close()
        If dbMitarbeiter IsNot Nothing Then
            fireLogedInMitarbeiterChanged(dbMitarbeiter)
            Return True
        Else
            Return False
        End If
    End Function

    Private Sub fireLogedInMitarbeiterChanged(ByRef mitarbeiter As Mitarbeiter)
        For Each listener In getObservable().getListeners
            listener.loginMitarbeiterChanged(mitarbeiter)
        Next
    End Sub
End Class
